package com.gao.list;

import javax.xml.transform.Source;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

/**
 * @Author: ShanYuqing
 * @Version: v1.0
 */
public class ListDemo {
    /*
             List接口的特点:存取有序，有索引，可以存储重复的

        和索引有关的API :

        public void add(int index, E eLement) :在指定的索引位置，添加元素

        public E remove(int index) :根据索引删除集合中的元素

        public E set(int index, E eLement) :根据索引修改集合中的元素

        public E get(int index) :返回指定索引处的元素

     */
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("李四");
        list.add("王五");
        list.add("赵六");
        System.out.println(list);
        for (int i = 0; i < list.size(); i++) {
            String s = list.get(i);
            System.out.println(s);
        }
        System.out.println("------------------");
        //迭代器正向遍历
        ListIterator<String> stringListIterator = list.listIterator();
        while (stringListIterator.hasNext()) {
            String next = stringListIterator.next();
            System.out.println(next);
        }
        System.out.println("------------");
        //迭代器反向遍历
        while(stringListIterator.hasPrevious()){
             String previous = stringListIterator.previous();
            System.out.println(previous);
        }

    }
}
